#include <stdlib.h>
#include <stdio.h>
#include "bitree.h" //请不要删除，否则检查不通过
//后序遍历,注意先对root和node判断,否则不通过

bool path(BiTNode* root, BiTNode* node, Stack* s) {
    BiTNode *p=root,*pre=NULL;
    if(root == NULL || node == NULL) return false;
    while(p!=NULL || is_empty(s)!=true){
        if(p!=NULL){
            push(s,p);
            if(p==node){
                return true;
            }
            p=p->left;
        }else{
            top(s,&p);
            if(p->right!=NULL && p->right!=pre){
                p=p->right;
            }else{
                pre=p;
                pop(s,&p);
                p=NULL;
            }
        }
    }
    return false;
}